GtkAccessibleStateChange changed_states,
GtkAccessiblePropertyChange changed_properties,
GtkAccessibleRelationChange changed_relations,
+ GtkAccessiblePlatformChange changed_platform,
GtkAccessibleAttributeSet *states,
GtkAccessibleAttributeSet *properties,
GtkAccessibleAttributeSet *relations)
return role_names[role];
}
+
+void
+gtk_accessible_platform_changed (GtkAccessible *self,
+ GtkAccessiblePlatformChange change)
+{
+ GtkATContext *context = gtk_accessible_get_at_context (self);
+ if (context == NULL)
+ return;
+
+ gtk_at_context_platform_changed (context, change);
+ gtk_at_context_update (context);
+}
+
#pragma once
-#include "gtkaccessibleprivate.h"
+#include "gtkaccessible.h"
#include "gtkaccessiblevalueprivate.h"
G_BEGIN_DECLS
#pragma once
#include "gtkaccessible.h"
-#include "gtkatcontext.h"
+#include "gtkatcontextprivate.h"
G_BEGIN_DECLS
const char * gtk_accessible_role_to_name (GtkAccessibleRole role,
const char *domain);
+void gtk_accessible_platform_changed (GtkAccessible *self,
+ GtkAccessiblePlatformChange change);
+
G_END_DECLS
#include "gtkatcontextprivate.h"
#include "gtkaccessiblevalueprivate.h"
+#include "gtkaccessibleprivate.h"
#include "gtkdebug.h"
#include "gtktestatcontextprivate.h"
#include "gtktypebuiltins.h"
GtkAccessibleStateChange changed_states,
GtkAccessiblePropertyChange changed_properties,
GtkAccessibleRelationChange changed_relations,
+ GtkAccessiblePlatformChange changed_platform,
GtkAccessibleAttributeSet *states,
GtkAccessibleAttributeSet *properties,
GtkAccessibleAttributeSet *relations)
/* There's no point in notifying of state changes if there weren't any */
if (self->updated_properties == 0 &&
self->updated_relations == 0 &&
- self->updated_states == 0)
+ self->updated_states == 0 &&
+ self->updated_platform == 0)
return;
GtkAccessibleStateChange changed_states =
GTK_AT_CONTEXT_GET_CLASS (self)->state_change (self,
changed_states, changed_properties, changed_relations,
+ self->updated_platform,
self->states, self->properties, self->relations);
g_signal_emit (self, obj_signals[STATE_CHANGE], 0);
self->updated_properties = 0;
self->updated_relations = 0;
self->updated_states = 0;
+ self->updated_platform = 0;
}
/*< private >
return g_strdup ("widget");
}
+
+void
+gtk_at_context_platform_changed (GtkATContext *self,
+ GtkAccessiblePlatformChange change)
+{
+ self->updated_platform |= change;
+}
GTK_ACCESSIBLE_STATE_CHANGE_SELECTED = 1 << GTK_ACCESSIBLE_STATE_SELECTED
} GtkAccessibleStateChange;
+typedef enum {
+ GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSABLE = 1 << 0,
+ GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSED = 1 << 1,
+} GtkAccessiblePlatformChange;
+
struct _GtkATContext
{
GObject parent_instance;
GtkAccessibleStateChange updated_states;
GtkAccessiblePropertyChange updated_properties;
GtkAccessibleRelationChange updated_relations;
+ GtkAccessiblePlatformChange updated_platform;
};
struct _GtkATContextClass
GtkAccessibleStateChange changed_states,
GtkAccessiblePropertyChange changed_properties,
GtkAccessibleRelationChange changed_relations,
+ GtkAccessiblePlatformChange changed_platform,
GtkAccessibleAttributeSet *states,
GtkAccessibleAttributeSet *properties,
GtkAccessibleAttributeSet *relations);
char * gtk_at_context_get_label (GtkATContext *self);
+void gtk_at_context_platform_changed (GtkATContext *self,
+ GtkAccessiblePlatformChange change);
+
const char * gtk_accessible_property_get_attribute_name (GtkAccessibleProperty property);
const char * gtk_accessible_relation_get_attribute_name (GtkAccessibleRelation relation);
const char * gtk_accessible_state_get_attribute_name (GtkAccessibleState state);
#include "gtktestatcontextprivate.h"
#include "gtkatcontextprivate.h"
+#include "gtkaccessibleprivate.h"
#include "gtkdebug.h"
#include "gtkenums.h"
#include "gtkprivate.h"
GtkAccessibleStateChange changed_states,
GtkAccessiblePropertyChange changed_properties,
GtkAccessibleRelationChange changed_relations,
+ GtkAccessiblePlatformChange changed_platform,
GtkAccessibleAttributeSet *states,
GtkAccessibleAttributeSet *properties,
GtkAccessibleAttributeSet *relations)